package com.huangyi;

public class Main {
    public static void main(String[] args) {
        //判定字符是否唯一
        class Solution {
            public boolean isUnique(String astr) {
                int bitMap = 0;  // 位掩码，初始为0
                for (int i = 0; i < astr.length(); i++) {
                    int x = astr.charAt(i) - 'a';   // 映射到0~25
                    if (((bitMap >> x) & 1) == 1) { // 检查该位是否已为1
                        return false;               // 出现重复
                    }
                    bitMap |= (1 << x);             // 置位
                }
                return true; // 没有重复
            }
        }

        //丢失的数字
        class Solution2 {
            public int missingNumber(int[] nums) {
                int result = 0;

                // 先对数组中的元素和索引进行异或
                for (int i = 0; i < nums.length; i++) {
                    result ^= i ^ nums[i];
                }

                // 最后还需要将 n（即 nums.length）与 result 异或
                result ^= nums.length;

                return result;
            }
        }

    }
}